namespace FanG
{
    using System;
    using System.ComponentModel;
    using System.Drawing;

    [TypeConverter(typeof(ExpandableObjectConverter))]
    public class Attributes
    {
        private Color _BackColor;
        private System.Drawing.Font _Font;
        private Color _ForeColor;
        private bool _Show;

        public Attributes()
        {
            this._Show = true;
            this._Font = new System.Drawing.Font("Arial", 11f, FontStyle.Regular, GraphicsUnit.Pixel);
            this._ForeColor = Color.Black;
            this._BackColor = Color.White;
        }

        public Attributes(bool Show, Color ForeColor, Color BackColor)
        {
            this._Show = true;
            this._Font = new System.Drawing.Font("Arial", 11f, FontStyle.Regular, GraphicsUnit.Pixel);
            this._ForeColor = Color.Black;
            this._BackColor = Color.White;
            this.Show = Show;
            this.ForeColor = ForeColor;
            this.BackColor = BackColor;
        }

        public Attributes(bool Show, Color ForeColor, Color BackColor, System.Drawing.Font Font)
        {
            this._Show = true;
            this._Font = new System.Drawing.Font("Arial", 11f, FontStyle.Regular, GraphicsUnit.Pixel);
            this._ForeColor = Color.Black;
            this._BackColor = Color.White;
            this.Show = Show;
            this.Font = Font;
            this.ForeColor = ForeColor;
            this.BackColor = BackColor;
        }

        [Description("Back Color\n背景色"), Category("Chartlet")]
        public Color BackColor
        {
            get
            {
                return this._BackColor;
            }
            set
            {
                this._BackColor = value;
            }
        }

        [Description("Fonts this block text\n字体"), Category("Chartlet")]
        public System.Drawing.Font Font
        {
            get
            {
                return this._Font;
            }
            set
            {
                this._Font = value;
            }
        }

        [Description("Fore color, mostly represents text Color\n前景色，大部分时候指的是字体颜色"), Category("Chartlet")]
        public Color ForeColor
        {
            get
            {
                return this._ForeColor;
            }
            set
            {
                this._ForeColor = value;
            }
        }

        [Category("Chartlet"), Description("Whether to show\n是否显示")]
        public bool Show
        {
            get
            {
                return this._Show;
            }
            set
            {
                this._Show = value;
            }
        }
    }
}

